重點:需要一個同時具備「Vision + LLM」功能的模型,並且可在本地或私有雲上安全執行(符合 Dify‑Private‑AI 或自託
管方案)。
模型 | 參數 | 主要特點 | 推薦理由 |
---|---|---|---|
llama3.1‑8b‑vision | 8B | 內建 Vision,支援圖像尺寸 up to 1024×1024,回答語句自然流暢 | 兼容性最高、成本低、性能優秀 |
mixtral‑8x7b‑vision | 47B | 多模態 8‑way mixture,對細節、光影理解更好 | 如需更高精度可選,佔用資源較大 |
gemma‑2‑vision‑9b | 9B | Google 開源,支援 2048×2048 大圖 | 需要高解析度分析時可選 |
mistral‑vision‑7b | 7B | 速度快、內存占用低 | 若硬體受限可選 |
建議:先從 llama3.1‑8b‑vision 開始。若後期發現對光影、顏色校正的理解仍有空間,可再試
mixtral‑8x7b‑vision 或 gemma‑2‑vision‑9b。
前提:你已經在本地 / 私有雲部署了 Ollama 並
pull
了上述模型;Dify 能夠自定義LLM
來源(自建 API)。
# 下載並啟動 Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# 拉取模型
ollama pull llama3.1-8b-vision # 或 mixtral-8x7b-vision 等
新增「LLM 來源」
http://<OLLAMA_HOST>:11434/api/chat
Content-Type: application/json
{
"model": "<MODEL_NAME>", // e.g. "llama3.1-8b-vision"
"messages": {{messages}},
"stream": false,
"format": "json"
}
新增「資料流」
Image
(File)Text
(建議)Prompt 設計
你是一位專業的攝影師兼社群媒體顧問。請閱讀以下圖片並給出三類建議:
在 Dify 中,
<IMAGE>
會自動轉成 base64 並放到messages
中的content
。
如果你想手動控制格式,可改為:
[
{"role":"system","content":"You are a professional photographer..."},
{"role":"user","content":"<IMAGE>"},
{"role":"assistant","content":"..."}
]
parameters
裡把 temperature
調低 0.2 或上升 0.8 看效果。--num-gpus
參數使用 GPU。問題 | 解決方案 | 提示 |
---|---|---|
模型不識別圖片 | 確保 messages 裡的 content 已經是 base64 且 type 設 image |
Ollama 目前只能解析image_url 或 image |
建議太笼统 | 在 Prompt 前加「請使用專業術語並具體化」 | 如:請用 "ISO=200, Aperture=1.8" 等格式回答 |
回答中包含模型名稱或指令 | 在 system 設定「請勿在回答中提及模型名稱」 |
例如:不要說「我使用了llama3.1-8b-vision」 |
社群文案語氣不符 | 在 Prompt 指明「用輕鬆、有趣的語氣」 | 例如:請使用口語化、年輕化的文字 |
性能瓶頸 | - 在 Ollama 啟動時使用 --model-path 指定本地權重檔。- 若可用 GPU,使用 --ngpu 1 以提高速度。 |
也可以考慮把模型切分成「vision」+「LLM」兩階段,先用 Vision 對圖像做特徵抽取,然後再交給較小 LLM。 |
你可以把 Threads 的貼文做成一個系列: